package com.mall4j.cloud.product.mapper;

import com.mall4j.cloud.product.dto.SpuDetailDTO;
import com.mall4j.cloud.product.model.SpuDetail;
import com.mall4j.cloud.product.vo.SpuDetailVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品详细信息
 *
 * @author JCM
 * @date 2021-04-27 15:33:00
 */
@Mapper
public interface SpuDetailMapper {

    /**
     * 获取商品详细信息列表
     *
     * @param spuDetailDTO 搜索列表
     * @return 商品详细信息列表
     */
    List<SpuDetailVO> list(@Param("spuAttrValueDTO") SpuDetailDTO spuDetailDTO);

    /**
     * 根据spuId获得商品详细信息
     *
     * @param spuId spuId
     * @return 商品详细信息
     */
    SpuDetailVO getBySpuId(@Param("spuId") Long spuId);

    /**
     * 保存商品详细信息
     *
     * @param spuDetail 商品详细信息
     */
    void save(@Param("spuDetail") SpuDetail spuDetail);

    /**
     * 更新商品详细信息
     *
     * @param spuDetail 商品详细信息
     */
    void update(@Param("spuDetail") SpuDetail spuDetail);

    /**
     * 根据spuId删除商品详细信息
     *
     * @param spuId spuId
     */
    void deleteBySpuId(@Param("spuId") Long spuId);
}
